Some mobile computing devices provide location-based services to a user. For example, a user may use a mobile computing device to report their location to a 9-1-1 emergency service in the event of an emergency. Further, the mobile computing device may use a navigation application to provide directions from the user's current location to a desired destination.
A mobile computing device uses various types of position assist data to assist in the calculation of position fixes for use with the location-based services. Position assist data includes almanac, ephemeris, and coarse data, and may also include mobile-station assist data such as visible satellite data and Doppler data. Almanac data may require updating every 6 months. Ephemeris data may require updating every 30 to 90 minutes, and may need to be updated even more frequently (e.g., every minute or less) if the device is moving, since ephemeris data provides data about the orbital information specific to the satellites within visibility at a particular position. Coarse data may provide a last known position and time to a calculation algorithm to speed up calculation of a subsequent position fix.
If the position assist data is not up-to-date or “fresh,” then the device may need to update one or more types of position assist data before it responds to the request for a position fix. Updating position assist data takes time and power, and may take wireless bandwidth. Position assist data may be updated using signals from global positioning system (GPS) satellites, though current approaches take substantial time to download the data.
Accordingly, there is a need for a system and method for maintaining or updating position assist data. Further, there is a need for updating position assist data with reduced time, power and/or wireless bandwidth. Further, there is a need for updating position assist data less often depending on various states of the device and data stored on the device. Further still, there is a need for updating position assist data while minimizing a user's perception of the update. Further still, there is a need for using a wireless network to receive position assist data, which may receive the position assist data faster than other methods and which may provide useful position data. Further still, there is a need for updating position assist data while minimizing the use of network airtime. Further still, there is a need for updating position assist data while minimizing disruptions of other processes or applications running on the device. Further still, there is a need for minimizing or eliminating the need for updates of position assist data made at the time of receiving a position fix request (i.e., “ad hoc” updates). Further still, there is a need for minimizing instances of moving one or more components of a mobile computing device out of a sleep mode.
The teachings herein extend to those embodiments which fall within the scope of the appended claims, regardless of whether they accomplish one or more of the above-mentioned needs.